package com.example.teachingSystem.mapper;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.teachingSystem.pojo.entity.Course;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.teachingSystem.pojo.form.course.CoursePageQuery;
import com.example.teachingSystem.pojo.vo.OptionVo;
import com.example.teachingSystem.pojo.vo.course.CourseVo;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
* @author 86147
* @description 针对表【course(课程表)】的数据库操作Mapper
* @createDate 2023-12-10 23:57:59
* @Entity com.example.teachingSystem.pojo.entity.Course
*/
@Mapper
public interface CourseMapper extends BaseMapper<Course> {
    IPage<CourseVo> getMyCoursePageByStu(Page<Course> page, CoursePageQuery queryParams,Long StuId);

    IPage<CourseVo> getMyCoursePageByTea(Page<Course> page, CoursePageQuery queryParams,Long TeaId);

    IPage<CourseVo> getAllCoursePage(Page<Course> page, CoursePageQuery queryParams);

    List<OptionVo> getTeacherOptions();

    List<CourseVo> getOptionalCoursesByStu(Long semesterId,Long StuId);
}




